package com.logistics.dto;

import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.DecimalMin;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 创建车辆请求 DTO
 */
@Data
public class VehicleCreateRequest {
    
    @NotBlank(message = "车牌号不能为空")
    private String plateNumber;
    
    @NotBlank(message = "车辆类型不能为空")
    private String vehicleType;
    
    @NotBlank(message = "车辆来源不能为空")
    private String vehicleSource; // COMPANY / TEMP
    
    private String brandModel;
    
    @NotNull(message = "载重不能为空")
    @DecimalMin(value = "0.01", message = "载重必须大于0")
    private BigDecimal loadCapacity;
    
    private BigDecimal volumeCapacity;
    
    private LocalDate purchaseDate;
    
    @NotNull(message = "保险到期日期不能为空")
    private LocalDate insuranceExpireDate;
    
    @NotNull(message = "年检到期日期不能为空")
    private LocalDate inspectionExpireDate;
    
    private String vehicleStatus;
    
    private String remark;
    
    // 车主信息
    @NotBlank(message = "车主姓名不能为空")
    private String ownerName;
    
    @NotBlank(message = "车主联系电话不能为空")
    private String ownerPhone;
    
    private String ownerIdCard;
    
    private String ownerLicenseNumber;
    
    private String ownerLicenseType;
    
    private LocalDate ownerLicenseExpireDate;
    
    private String ownerAddress;
}

